#include<stdio.h>
#include<unistd.h>
#include<string.h>

enum                              //自定义枚举类型，Success=0，整除Div_Zero,取模Mod_Zero
{
	Success = 0,                  //成功状态，对应数值0
	Div_Zero,                     //除0错误，对应数值1
	Mod_Zero,                     //取模错误，对应数值2
};

int exit_code = Success;          //退出码默认是成功的。

const char* CodeToErrString(int code)  //输出错误信息
{
	switch(code)
	{
		case Success:
			return "Success!";
		case Div_Zero:
			return "div zero!";
		case Mod_Zero:
			return "mod zero!";
		default:
			return "unknow erro!";
	}
}

int Div(int x, int y)
{	
	return x / y;             //正常返回除法结果
}
int main()
{
	int *p =NULL;
	while(1)
	{
		printf("I am a process, pid: %d, ppid: %d\n",getpid(),getppid());
		sleep(1);
		*p = 100;            //野指针，空指针p是0x00000000 属于低地址，进程在代码段权限只读，栈和堆区可读写
							 //本身进程没有权限访问0号地址，空指针地址进程无任何权限，不可读写
	}

}
